Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import { appGetLayout } from "components/AppRoute"; import NotFoundPage from "features/NotFoundPage"; import UserPageComponent from "features/profile/view/UserPage"; import { GetStaticPaths, GetStaticProps } from "next"; import { useRouter } from "next/router"; import nextI18nextConfig from "next-i18next.config"; import { serverSideTranslations } from "next-i18next/serverSideTranslations"; import { userTabs } from "routes"; import stringOrFirstString from "utils/stringOrFirstString"; export const getStaticPaths: GetStaticPaths = () => ({ paths: [], fallback: "blocking", }); export const getStaticProps: GetStaticProps = async ({ locale }) => ({ props: { ...(await serverSideTranslations( locale ?? "en", ["global", "profile", "connections", "dashboard"], nextI18nextConfig )), }, }); export default function UserPage() { const router = useRouter(); //first element of slug is the username const username = stringOrFirstString(router.query.slug); Iif (!username) return <NotFoundPage />; const tab = router.query.slug?.[1]; let parsedTab = undefined; Iif (tab) { parsedTab = userTabs.find((valid) => tab === valid); Iif (!parsedTab) return <NotFoundPage />; } return <UserPageComponent username={username} tab={parsedTab} />; } UserPage.getLayout = appGetLayout(); |